package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.pojo.Role;
import com.itheima.pojo.User;
import java.util.List;
import java.util.Map;

public interface UserDao {
    public User findByUsername(String username);

    //增加用户
    public void add(User user);

    //删除用户
    public void deleteById(Integer id);

    //修改用户
    public void edit(User user);

    //分页查询
    public List<User> findPage();

    //条件查询
    public Page<User> findByCondition(String queryString);

    //查询用户关联
    public long selectCountByUserId(Integer id);
    //通过id查询用户管理
    public User findById(Integer id);
    //通过角色id查用户id
    public List<Integer> findUserIdsByRoleId(Integer userId);
    //删除约束
    public void deleteConstraints(Integer id);

    //通过用户找角色名
    public List<String> findRoleNameByUserId();

    //导入数据
    public  void addData(User user);
    //通过用户名查询
    public long findCountByUsername(String username);

    public List<Role> findAll();

    void deleteAssociation(Integer id);

    void setUserAndRole(Map<String, Integer> map);

    /*List<Role> findRolesByUserId(Integer userId);*/

    //根据用户名查询所有信息
    public User findAllByUsername(String username);

    public void editUser(User user);

}
